Soru & Cevap

Sqlite veritanı sorunu ...

30.05.2016 - 05:15

Merhaba arkadaşlar ben androidde veritabanı işlemleri yaparken bazı hatalar alıyorum örneğin aşağıda veritabanı sınıfımda ki veritabanı oluşturma ve tablo oluştma ile ilgili kısımlar var burada test adlı tabloma kayıtları başarıyla ekleyebiliyorum ancak kasa adlı tablomda basit bir veri çekme işini dahi yapmıyor.

try catch bloklarında no such table kasa uyarısı almıştım acaba hatam nerede ? aşağıdaki kodun en altında veri çekmek için yazdığım kodda mevcut acaba orada mı bir hata var.

​
public class Database extends SQLiteOpenHelper {
 
    // Database Version
    private static final int DATABASE_VERSION = 2;
 
    // Database Name
    private static final String DATABASE_NAME = "sqllite_database";
 
 
    /*Notlar Tablo Yapısı*/
    private static final String TABLE_NAME_NOTLAR="test";
    private static String BASLIK = "baslik";
    private static String ICERIK = "icerik";
    private static String ID = "id";
    /*Bitti*/
    private static final String TABLE_NAME_GENELKASA="kasa";
    private static String GENELKASA_ID="id";
    private static String  GENELKASA_TUTAR="tutar";
 
 
 
    public Database(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }
 
    @Override
    public void onCreate(SQLiteDatabase db) {  
        String CREATE_TABLE_NOTLAR = "CREATE TABLE " + TABLE_NAME_NOTLAR + "("
                + ID + " INTEGER PRIMARY KEY AUTOINCREMENT,"
                + BASLIK + " TEXT,"
                + ICERIK + " TEXT" + ");";
        String CREATE_TABLE_GENELKASA="CREATE TABLE "+TABLE_NAME_GENELKASA+"("
                +GENELKASA_ID+" INTEGER PRIMARY KEY AUTOINCREMENT,"
                +GENELKASA_TUTAR+" TEXT);";
        db.execSQL(CREATE_TABLE_GENELKASA);
        db.execSQL(CREATE_TABLE_NOTLAR);
 
    }
//veri çekme kodları kasa tablosu için
public ArrayList<HashMap<String, String>> genelkasaListesi(){

        SQLiteDatabase db = this.getReadableDatabase();
        String selectQuery = "SELECT * FROM " + TABLE_NAME_GENELKASA;
        Cursor cursor = db.rawQuery(selectQuery, null);
        ArrayList<HashMap<String, String>> notlist = new ArrayList<HashMap<String, String>>();
        // looping through all rows and adding to list

        if (cursor.moveToFirst()) {
            do {
                HashMap<String, String> map = new HashMap<String, String>();
                for(int i=0; i<cursor.getColumnCount();i++)
                {
                    map.put(cursor.getColumnName(i), cursor.getString(i));
                }

                notlist.add(map);
            } while (cursor.moveToNext());
        }
        db.close();

        return notlist;
    }
}
​

GenelKasa.java dosyası yani kasa tablosu ile ilgili işlemlerin yapılacağı dosya (bu activity de ilgili butona tıklanınca hata alıyorum.)

public class GenelKasa extends AppCompatActivity {
    TextView lblGenelTutar;
    ArrayList<HashMap<String,String>> liste;
    Button genelKasa;
    Button vericek;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_genel_kasa);
        final Database db = new Database(getApplicationContext());
       /* */
        genelKasa = (Button)findViewById(R.id.btnGenelKasa);
        genelKasa.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                db.genelkasa_ekle("100");
                Toast.makeText(getApplicationContext(),"Genel Kasaya Ücret Eklendi.",Toast.LENGTH_LONG).show();
            }
        });
        vericek = (Button)findViewById(R.id.btnVeriCek);
        vericek.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                try
                {
                    liste = db.genelkasaListesi();
                    if(liste.size()==0)
                    {
                        lblGenelTutar.setText("Daha Önce Genel Kasaya Ücret Girilmemiş !");
                    }else{
                        lblGenelTutar.setText("Genel Kasa : 0");
                    }
                }catch (Exception ex)
                {
                    Toast.makeText(getApplicationContext(),ex.getMessage().toString(),Toast.LENGTH_LONG).show();
                }
            }
        });
    }
}

 

26 Görüntülenme

1 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-9334-1385599626.jpg
BerkEmreALTAN
20.06.2016 - 02:54

2. tabloyu yeni eklediysen veritabanı versiyonunu yükseltmeyi deneyebilirsin.